package com.xlh.service.course;

import com.xlh.dto.course.ChapterTechnologyIndexDTO;
import com.xlh.dto.course.TechnologyDTO;
import com.xlh.param.course.TechnologyParam;
import com.xlh.pojo.course.Technology;

import java.util.List;

/**
 * 技能
 * <p>
 * Created by lx on 2019/1/28.
 */
public interface TechnologyService {

    /**
     * 获取全部的技能列表
     *
     * @return
     */
    List<TechnologyDTO> listTechnology();

    /**
     * 添加技能
     *
     * @param param 添加的参数
     */
    void createTechnology(TechnologyParam param);

    /**
     * 创建多个技术库
     *
     * @param technologies 技术集合
     */
    void createTechnology(List<Technology> technologies);

    /**
     * 编辑技能
     *
     * @param id    技能id
     * @param param 编辑的参数
     */
    void updateTechnology(Long id, TechnologyParam param);

    /**
     * 批量删除技能
     *
     * @param ids 技能id集合
     */
    void batchDeleteTechnology(List<Long> ids);

    /**
     * 获取全部技能的使用频率
     *
     * @return
     */
    List<TechnologyDTO> queryTechnologyFrequency();

    /**
     * 获取技能数据
     *
     * @param ids 技能id集合
     * @return
     */
    List<Technology> listTechnology(List<Long> ids);

    /**
     * 某技能下的章节信息
     *
     * @param id
     * @return
     */
    ChapterTechnologyIndexDTO queryTechnologyChapter(Long id);

}
